﻿namespace Sidvall.IdentityManager.Net.SimpleServices.V1.ConfigModel
{
    public sealed partial class EntityFacade : global::Sidvall.IdentityManager.Data.ConfigModel.EntityFacadeBase
    {
        #region Public Members

        #region UserConfigurationManager

        private global::Sidvall.IdentityManager.Data.ConfigModel.EntityManagers.UserConfigurationManager<global::Sidvall.IdentityManager.Net.SimpleServices.V1.UserConfiguration, global::Sidvall.IdentityManager.Net.SimpleServices.V1.UserConfigurationCollection> _UserConfigurationManager;
        public global::Sidvall.IdentityManager.Data.ConfigModel.EntityManagers.UserConfigurationManager<global::Sidvall.IdentityManager.Net.SimpleServices.V1.UserConfiguration, global::Sidvall.IdentityManager.Net.SimpleServices.V1.UserConfigurationCollection> UserConfigurationManager
        {
            get
            {
                return _UserConfigurationManager;
            }
            private set
            {
                _UserConfigurationManager = value;
            }
        }

        #endregion
        #region ServerItemManager

        private global::Sidvall.IdentityManager.Data.ConfigModel.EntityManagers.ServerItemManager<global::Sidvall.IdentityManager.Net.SimpleServices.V1.ServerItem, global::Sidvall.IdentityManager.Net.SimpleServices.V1.ServerItemCollection> _ServerItemManager;
        public global::Sidvall.IdentityManager.Data.ConfigModel.EntityManagers.ServerItemManager<global::Sidvall.IdentityManager.Net.SimpleServices.V1.ServerItem, global::Sidvall.IdentityManager.Net.SimpleServices.V1.ServerItemCollection> ServerItemManager
        {
            get
            {
                return _ServerItemManager;
            }
            private set
            {
                _ServerItemManager = value;
            }
        }

        #endregion
        #region PluginManager

        private global::Sidvall.IdentityManager.Data.ConfigModel.EntityManagers.PluginManager<global::Sidvall.IdentityManager.Net.SimpleServices.V1.Plugin, global::Sidvall.IdentityManager.Net.SimpleServices.V1.PluginCollection> _PluginManager;
        public global::Sidvall.IdentityManager.Data.ConfigModel.EntityManagers.PluginManager<global::Sidvall.IdentityManager.Net.SimpleServices.V1.Plugin, global::Sidvall.IdentityManager.Net.SimpleServices.V1.PluginCollection> PluginManager
        {
            get
            {
                return _PluginManager;
            }
            private set
            {
                _PluginManager = value;
            }
        }

        #endregion
        
        #endregion
        #region Constructors

        [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Maintainability", "CA1506:AvoidExcessiveClassCoupling")]
        public EntityFacade() 
            : base(global::Sidvall.IdentityManager.Net.SimpleServices.V1.ConfigModel.ResourceFactory.Current)
        {
            this.UserConfigurationManager = new global::Sidvall.IdentityManager.Data.ConfigModel.EntityManagers.UserConfigurationManager<global::Sidvall.IdentityManager.Net.SimpleServices.V1.UserConfiguration, global::Sidvall.IdentityManager.Net.SimpleServices.V1.UserConfigurationCollection>(this);
            this.ServerItemManager = new global::Sidvall.IdentityManager.Data.ConfigModel.EntityManagers.ServerItemManager<global::Sidvall.IdentityManager.Net.SimpleServices.V1.ServerItem, global::Sidvall.IdentityManager.Net.SimpleServices.V1.ServerItemCollection>(this);
            this.PluginManager = new global::Sidvall.IdentityManager.Data.ConfigModel.EntityManagers.PluginManager<global::Sidvall.IdentityManager.Net.SimpleServices.V1.Plugin, global::Sidvall.IdentityManager.Net.SimpleServices.V1.PluginCollection>(this);
        }

        #endregion
    }
}